package com.itheima.service;

import com.itheima.domain.Role;
import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;

import java.util.List;

public interface RoleService {
    //添加角色
    void add(Role role, Integer[] permissionIds,Integer[] menuIds);

    //分页查询
    PageResult findPage(QueryPageBean queryPageBean,String username);

    //根据角色Id查询角色
    Role findById(Integer id);

    //根据角色Id查询PermissionId
    List<Integer> findPermissionIdsByRoleId(Integer id);

    //根据角色Id查询MenuIds
    List<Integer> findMenuIdsByRoleId(Integer id);

    //删除角色
    void delete(Integer id);

    //编辑角色
    void edit(Role role, Integer[] permissionIds,Integer[] menuIds);

    //查询所有角色
    List<Role> findAll();

    //根据角色名查询该角色是否存在
    Role findByName(String name);

    //根据角色关键字查询数据库是否该角色已存在
    Role findByKeyword(String keyword);

    //根据角色id查询关联数据的数量
    Integer findCountByRoleId(Integer roleId);

    //查询所有角色排除自己的角色
    List<Role> findAllExOwn(Integer id);
}
